package com.liang.controller;


import com.liang.common.lang.Result;
import com.liang.service.CNewsService;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;

/**
 * <p>
 * 前端控制器
 * </p>
 *
 * @author 李昂
 * @since 2021-01-14
 */
@RestController
@RequestMapping("/news")
@AllArgsConstructor
public class CNewsController {

    private CNewsService newsService;

    //获取新闻列表
    @GetMapping
    public Result getNewsList() {
        return Result.succ(newsService.getNewsList());
    }

    //获取新闻内容
    @GetMapping("/{id}")
    public Result getContainer(@PathVariable("id") int id) {
        return Result.succ(newsService.getContainer(id));
    }

    /**
     * 点击查看的人数
     * 这里使用乐观锁机制，防止在大吞吐量时数据跟新失败
     */
    @PutMapping("/{id}")
    public Result updateLook(@PathVariable("id") int id) {
        if (newsService.updateLook(id)) {
            return Result.succ();
        } else {
            return Result.fail();
        }

    }


}
